package tx.demo02;

/**
 * wait 方法的使用
 * 1)wait、notify、notifyAll 这三个方法必须应用在同步块或同步方法中
 * 2)这三个在 Object 中定义的。因此，所有的对象都可以访问这三个方法
 * 但是我们是通过锁对象来访问这三个方法！
 *
 * @author lwj
 * @date 2025-03-13
 * @vesion 1.0.0
 */
public class MainTest {
    /**
     * 定义锁对象
     */
    private static final String  LOCK = "";

    /**
     * 静态方法只能访问静态成员
     * @param args
     */
    public static void main(String[] args) {
        synchronized (LOCK){
            try {
                // 线程等待 - 报错，必须应用在同步块或者同步方法中
                LOCK.wait(5000);

                System.out.println("线程被唤醒...");
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
